//package com.xiaozhen.data.consumer;
//
//import com.alibaba.fastjson.JSON;
//import com.xiaozhen.data.constant.JT809BusinessConstant;
//import com.xiaozhen.data.model.UpExgMsg;
//import com.xiaozhen.data.model.UpWarnMsg;
//import com.xiaozhen.data.service.JT809ProcessingService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.util.function.Consumer;
//
///**
// * HISTORY
// *
// * @author zhenweisheng
// * @date 2021/9/22 15:02
// * @description:
// */
//@Configuration
//public class JT809Consumer {
//
//    @Autowired
//    private JT809ProcessingService processingService;
//
//    /**
//     * 车辆动态信息
//     *
//     * @return
//     */
//    @Bean
//    public Consumer<UpExgMsg> upExg() {
//        return upExgMsg ->
//        {
//            int dataType = upExgMsg.getDataType();
//            switch (dataType) {
//                case JT809BusinessConstant.UpExgMsg.UP_EXG_MSG_REGISTER:
//                    //车辆注册
//                    processingService.saveUpExgRegister(JSON.parseObject(JSON.toJSONString(upExgMsg)));
//                    break;
//                case JT809BusinessConstant.UpExgMsg.UP_EXG_MSG_REAL_LOCATION:
//                    //车辆定位补报信息
//                case JT809BusinessConstant.UpExgMsg.UP_EXG_MSG_HISTORY_LOCATION:
//                    //车辆实时定位信息
//                    processingService.saveUpExgLocationData(JSON.parseObject(JSON.toJSONString(upExgMsg)));
//                    break;
//                default:
//
//            }
//        };
//    }
//
//
//    /**
//     * 车辆报警信息
//     *
//     * @return
//     */
//    @Bean
//    public Consumer<UpWarnMsg> upWarn() {
//        return upWarnMsg ->
//        {
//            int dataType = upWarnMsg.getDataType();
//            switch (dataType) {
//                case JT809BusinessConstant.UpWarnMsg.UP_WARN_MSG_URGE_TODO_ACK:
//                    processingService.saveUpWarnUrge(JSON.parseObject(JSON.toJSONString(upWarnMsg)));
//                    break;
//                case JT809BusinessConstant.UpWarnMsg.UP_WARN_MSG_ADPT_INFO:
//                    processingService.saveUpWarnAdpt(JSON.parseObject(JSON.toJSONString(upWarnMsg)));
//                    break;
//                default:
//            }
//        };
//    }
//
//
//}
